home *** CD-ROM | disk | FTP | other *** search
/ Adobe Graphics & Publishing SDK 1996 December / Adobe Graphics & Publishing SDK 1996 December.iso / pc / pm65sdk / sourcecode / includes / ciwindow.h < prev    next >
C/C++ Source or Header  |  1996-11-18  |  3KB  |  76 lines

  1. /***[f*****************************************************************
  2.  *      ciwin.h -- Component Interface for PageMaker Windows.
  3.  *
  4.  *      Copyright 1996 (c) Adobe Systems, Inc. All Rights Reserved
  5.  *
  6.  *      Public version
  7.  *
  8.  * $Revision:   1.8  $
  9.  *
  10.  *
  11.  * 
  12.  ***f]*****************************************************************/
  13.  
  14. #ifndef __CIWIN_H
  15. #define __CIWIN_H
  16.  
  17. #include "pmtypes.h"
  18.  
  19. #if defined(MACINTOSH)
  20. typedef PMBool (*MACPROC)(EventRecord *);
  21. #endif
  22. #ifdef __cplusplus
  23. // menu states for AddToMenu
  24. #define kAdnLayoutState        0x0004        // enable in layout mode
  25. #define kAdnStoryEditState    0x0008        // enable in story editor
  26. #define kAdnNoPubState        0x0010        // enable in no pub state
  27.  
  28. // class to define PageMaker window style
  29. class CIPMWinStyle : public CIInterface
  30. {
  31. public:
  32.     virtual void SetBorderState(PMBool bBorder)=0;
  33.     virtual void SetVisibilityState(PMBool bIsVisible)=0;
  34.     virtual void SetTitleBarState(PMBool bHasTitleBar)=0;
  35.     virtual void SetParentState(PMBool bIsParent)=0;
  36.     virtual void SetChildState(PMBool bIsChild)=0;
  37.     virtual void SetZoomState(PMBool bHasZoomBox)=0;
  38.     virtual void SetSizeState(PMBool bIsSizeable)=0;
  39.     virtual void SetCloseState(PMBool bHasCloseBox)=0;
  40.     virtual void SetMaximizeState(PMBool bIsMaximized)=0;
  41.     virtual void SetStayOnTopState(PMBool bIsStayOnTop)=0;
  42.     virtual void SetModalState(PMBool bIsModal)=0;
  43.     virtual void SetDefaultWindowState(PMBool bIsDefaultWindow)=0;
  44. };
  45.  
  46. // class to create and destroy PageMaker window
  47. class CIPMWindow : public CIInterface
  48. {
  49. public:
  50.     virtual PMBool Create(CIPMWinStyle *pPlugInWinStyle, void *thePrivateWinData)=0;
  51.     virtual PMBool Destroy()=0;
  52.     virtual void SetPrivateWinData(void *thePrivateWinData)=0;
  53.     virtual void *GetPrivateWinData()=0;
  54.     virtual void SetTitle(char *title)=0;
  55. #if defined (WINDOWS)
  56.     virtual HWND GetWindowHandle()=0;
  57.     virtual void GetSizeLimit(RECT *rect)=0;
  58.     virtual void SetSizeLimit(RECT rect)=0;
  59. #endif
  60. #if defined(MACINTOSH)
  61.     virtual GrafPtr GetWindowHandle()=0;
  62.     virtual void GetSizeLimit(Rect *rect)=0;
  63.     virtual void SetSizeLimit(Rect rect)=0;
  64. #endif
  65.     // menuState is kAdnLayoutState, kAdnStoryEditState, kAdnNoPubState
  66.     virtual PMErr AddToMenu(char *pShowMenuString, char *pHideMenuString,
  67.             WORD menuState=kAdnLayoutState|kAdnNoPubState)=0;
  68.     virtual PMErr DeleteFromMenu(char *pShowMenuString, char *pHideMenuString)=0;
  69.     virtual void Show()=0;
  70.     virtual void Hide()=0;
  71.     virtual PMBool IsVisible()=0;
  72. };
  73.  
  74. #endif
  75. #endif
  76.